﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Windows.Forms;

namespace ProjectA
{
    public class cProveedores
    {
        wsGeneral.WsGeneral wsGeneral;
        ProjectA.DataSets.dsPrincipal dsPrincipal;

        public enum Modo { Adición, Edición}
        private int iRegistroId;

        #region Propiedades

        public int NIT { get; set; }
        public string NombreProveedor { get; set; }
        public string NombreContacto{ get; set; }
        public int Telefono { get; set; }
        public string Email { get; set; }
        public string Direccion { get; set; }
        public string PaginaWeb { get; set; }
        public int RegistroId { get { return iRegistroId; } set { iRegistroId = value; } }
        public Modo ModoActual { get; set; }

        #endregion


        public cProveedores()
        {
            wsGeneral = new wsGeneral.WsGeneral();
            dsPrincipal = new ProjectA.DataSets.dsPrincipal();
            ModoActual = Modo.Edición;
            RegistroId = 0;
            NIT = 0;
            NombreContacto = "";
            NombreProveedor = "";
            Telefono = 0;
            Email = "";
            Direccion = "";
            PaginaWeb = "";
        }

        public void Actualizar()
        {
            string sErr="";

            if (ModoActual == Modo.Adición)
            {
                if (wsGeneral.AddProviders(NIT, NombreProveedor, Telefono, Direccion, Email, NombreContacto, PaginaWeb, out iRegistroId, out sErr))
                {
                    MessageBox.Show("Adición exitosa", "ProjectA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    ModoActual = Modo.Edición;
                }

                else
                {
                    MessageBox.Show("Intente más tarde " + sErr, "ProjectA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                   
            }

            else
            {
                if (wsGeneral.ModifyProviders(RegistroId, NIT, NombreProveedor, Telefono, Direccion, Email, NombreContacto, PaginaWeb, out sErr))
                {
                    MessageBox.Show("Modificación exitosa", "ProjectA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    MessageBox.Show("Intente más tarde " + sErr, "ProjectA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }

        }

        public bool CargarProveedores(out DataSet dsProveedores)
        {
           dsProveedores = new DataSet();
            string sErr= "";
            bool bResp;

            
            bResp = wsGeneral.GetProviders(null, null, null, null, null, null, null, null, out dsProveedores, out sErr);

            return bResp;

        }

        public void Eliminar()
        {
            string sErr="";

            if (wsGeneral.DeleteProviders(RegistroId, out sErr))
            {
                MessageBox.Show("Eliminación exitosa", "ProjectA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

        }

    }
}
